iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
Security

資安概論及滲透測試工具研究系列 第 10

IT資訊鐵人賽30天 DAY 10 雜湊函數

  • 分享至 

  • xImage
  •  

雜湊函數

雜湊函數(Hash Function)是一種將任意大小的輸入數據(稱為訊息)轉換為固定大小的輸出數據(稱為雜湊值或雜湊碼)的數學函數。雜湊函數在計算上是單向的,這意味著從雜湊值無法反推出原始輸入。

雜湊函數的特性

  1. 固定大小的輸出:無論輸入數據的大小如何,輸出始終為固定長度(例如,SHA-256 輸出為 256 位)。
  2. 快速計算:對於任何給定的輸入,雜湊函數應該能夠快速計算出雜湊值。
  3. 抗碰撞性:難以找到兩個不同的輸入產生相同的雜湊值(即碰撞)。
  4. 抗逆性:從雜湊值無法輕易推導出原始輸入。
  5. 小變化大影響:對於輸入數據的微小改變,雜湊值應該有顯著的變化。

常見的雜湊函數

  • MD5:雖然曾經廣泛使用,但由於安全性問題(存在碰撞漏洞),現在不再推薦用於安全應用。
  • SHA-1:曾經被廣泛使用,但也發現了安全漏洞,建議使用更安全的版本。
  • SHA-256SHA-3:當前較為安全的選擇,適用於各種安全應用。

雜湊函數的應用

  1. 數據完整性驗證:檢查數據在傳輸或存儲過程中是否被篡改。通過比較原始數據的雜湊值和接收到的數據的雜湊值來驗證完整性。

  2. 數字簽名:在數字簽名中,首先對消息生成雜湊值,然後用私鑰對雜湊值進行加密,從而生成簽名。接收者可以驗證簽名的有效性。

  3. 密碼存儲:將用戶密碼的雜湊值存儲在數據庫中,而不是明文密碼。這樣,即使數據庫被攻擊,攻擊者也無法直接獲得用戶的密碼。

  4. 資料結構:在資料結構中,如哈希表,雜湊函數用於將鍵映射到表中的位置,以便快速查找。

  5. 區塊鏈技術:在區塊鏈中,雜湊函數用於鏈接區塊,確保區塊的完整性和安全性。

  6. 隨機數生成:某些隨機數生成器使用雜湊函數來生成伪隨機數。

總結

雜湊函數在現代計算機科學和安全領域中扮演著重要角色。它們用於數據完整性驗證、密碼存儲、數字簽名等多個方面。隨著數位安全需求的增加,選擇安全性高且性能良好的雜湊函數變得尤為重要。


上一篇
IT資訊鐵人賽30天 DAY 9 AES 加密演算法
下一篇
IT資訊鐵人賽30天 DAY 11 數位簽章
系列文
資安概論及滲透測試工具研究27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言